Ir para o conteúdo

13. Criando o nosso primeiro CRUD

Vamos criar agora um pequeno CRUD bem simples para exemplificar o uso do Admin do Django e depois veremos como irá funcionar como Rest Api.

Exemplo: Tarefas

Para isso, iremos criar uma tabela no banco bem simples, apenas com 3 campos, chamada: Tarefas.

Padrão MVT (Model, View, Template)

No django, o padrão de desenvolvimento é MVT e não MVC, mais adiante vamos entender melhor isso.

Criando o Model: Tarefas

Abrir o arquivo core > models.py e implementar o código abaixo:

class Tarefa(models.Model):

    STATUS = (
        ('P', 'Pendente'),
        ('F', 'Finalizada'),
        ('C', 'Cancelada')
    )

    descricao = models.CharField(max_length=255)
    status = models.CharField(max_length=1, choices=STATUS, default='P')

    def __str__(self):
        return self.descricao

    class Meta:
        ordering = ('id', 'descricao')

Habilitando no Admin do Django o model Tarefas

Vamos habilitar no Admin do Django os recursos de CRUD e mais recursos de pesquisa e filtro e determinar quais campos (fields) queremos que apareça no GRID.

Editar o arquivo core > admin.py e registrar o Model criado:

from django.contrib import admin
from .models import Tarefa
# Register your models here.

# admin.site.register(Tarefa) # Se fosse pra registrar de forma simples

@admin.register(Tarefa)
class TarefaAdmin(admin.ModelAdmin):
    list_display = ['descricao', 'status']
    list_filter = ('descricao', 'status')
    search_fields = ('descricao',)